#ifndef DOSING_PUMPS_H
#define DOSING_PUMPS_H

#include <avr/pgmspace.h>
#include "WProgram.h"

#include <LiquidCrystal.h>

#include "utility.h";
#include "Dosing_Pump.h";

const int PUMPS_FIRST_PIN = A0;
const int STIRRER_FIRST_PIN = 2;//A8;
extern PROGMEM const char *dosing_pumps_name_table[];


class Dosing_Pumps
{
public:
  Dosing_Pumps();
  void Print_Pump_Name(byte Pump_Num);

  Dosing_Pump Get_Dosing_Pump(int index);
  void Set_Dosing_Pump(int index , Dosing_Pump dosing_pump );

  void update_Pumps(bool new_min,bool new_sec);
  void Check_Pumps(); // need to call evrey new min

  void Start(byte Pump_Num,byte _Stirrer_Time , byte _Pump_Liquid_Amount_l ,   byte _Pump_Liquid_Amount_h);

  void Start_Pump_Calibration(byte Pump_Num);
  void End_Pump_Calibration(byte Pump_Num);
  
  void Print_History(byte Pump_Num);
  void Clear_History(byte Pump_Num);
  void Print_Last_Time(byte Pump_Num);

private:
  Dosing_Pump Dosing_Pump_arr[NUMBER_OF_DOSING_PUMPS];

};


#endif







